package com.leizi.igym.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.leizi.igym.domain.Category;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * @Author: leizi0110
 * @CreateTime: 2024-04-07  14:55
 * @Description:
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Schema(description = "教练分页返回的数据格式")
public class TrainerVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 3783466739245608495L;

    @Schema(name = "主键值")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    @Schema(name = "教练姓名")
    private String trName;

    @Schema(name = "教练头像")
    private String avatar;

    @Schema(name = "教练性别")
    private int gender;

    @Schema(name = "教练年龄")
    private int age;

    @Schema(name = "教练从业年限")
    private int career;

    @Schema(name = "教练是否认证")
    private int isIdentified;

    @Schema(name = "入职时间")
    private LocalDate joinTime;

    @Schema(name = "教练生日")
    private LocalDate birthday;

    @Schema(name = "教练身份证")
    private String idNo;

    @Schema(name = "教练电话")
    private String phone;

    @Schema(name = "教练简介")
    private String intro;

    @Schema(name = "教练擅长方向")
    private List<Category> expertiseList;

    // @Schema(name = "教练擅长方向级联")
    // private List<CategoryCascaderVO> expertiseCascaderList;

}
